package com.zenithmind.common.exception;

import com.zenithmind.common.result.ResultCode;

/**
 * 业务异常
 * 用于表示业务逻辑层面的错误
 */
public class BusinessException extends ApiException {
    
    /**
     * 构造方法
     *
     * @param message 错误消息
     */
    public BusinessException(String message) {
        super(ResultCode.BUSINESS_ERROR.getCode(), message);
    }
    
    /**
     * 构造方法
     *
     * @param code 错误码
     * @param message 错误消息
     */
    public BusinessException(int code, String message) {
        super(code, message);
    }
    
    /**
     * 构造方法
     *
     * @param resultCode 错误枚举
     */
    public BusinessException(ResultCode resultCode) {
        super(resultCode);
    }

    /**
     * 构造方法
     * 
     * @param message 错误信息
     * @param cause 原始异常
     */
    public BusinessException(String message, Throwable cause) {
        super(ResultCode.BUSINESS_ERROR.getCode(), message, cause);
    }
    
    /**
     * 构造方法
     * 
     * @param resultCode 错误枚举
     * @param cause 原始异常
     */
    public BusinessException(ResultCode resultCode, Throwable cause) {
        super(resultCode.getCode(), resultCode.getMessage(), cause);
    }
} 